/*
    嵌套类问题的递归解题套路
        
    前置知识：
    讲解017、020、021、023、036、037、038
    这些章节都分析过递归，尤其讲解038，不熟悉的同学可以先熟悉一下

    嵌套类问题的解题套路
    大概过程: 
    1. 定义全局变量 int where
    2. 递归函数f(i) : s[i..]，从i位置出发开始解析，遇到 字符串终止 或 嵌套条件终止 就返回
    3. 返回值是f(i)负责这一段的结果
    4. f(i)在返回前更新全局变量where，让上级函数通过where知道解析到了什么位置，进而继续

    执行细节:
    1. 如果f(i)遇到 嵌套条件开始，就调用下级递归去处理嵌套，下级会负责嵌套部分的计算结果
    2. f(i)下级处理完成后，f(i)可以根据下级更新的全局变量where，知道该从什么位置继续解析

    ================================================

    实战一下

    题目1 : 含有嵌套的表达式求值。时间复杂度O(n)

    题目2 : 含有嵌套的字符串解码。时间复杂度O(n)

    题目3 : 含有嵌套的分子式求原子数量。时间复杂度O(n)

*/